const express = require("express")
const app = express();
const path = require("path");

//处理body请求体的中间件
app.use(express.urlencoded())
app.use(express.json())

//设置中间件解决复杂请求先发送options请求
// app.use((req,res,next)=>{
// //   //允许所有请求地址跨域
// //   // res.set("Access-Control-Allow-Origin","http://127.0.0.1:5500")
// //   // res.set("Access-Control-Allow-Headers","*")
  

// //   //设置允许跨域的集合
//   const allowAdd = ["http://127.0.0.1:5500", "http://127.0.0.1:5501", "http://127.0.0.1:5502", "http://127.0.0.1:5503"]
//   console.log(req.headers.referer); //拿到请求的来源地址
//   if (allowAdd.includes(req.headers.origin)) {
//     res.set("Access-Control-Allow-Origin", req.headers.origin)
//     res.set("Access-Control-Allow-Headers", "token")
//   }

//   next()
// })


// 设置中间件解决复杂请求先发送options请求
app.use((req,res,next)=>{

  //设置允许跨域的集合
  const allowAdd = ["http://127.0.0.1:5500","http://127.0.0.1:5501","http://127.0.0.1:5502","http://127.0.0.1:5503",]
  console.log(req.headers.origin);
  if(allowAdd.includes(req.headers.origin)){
    res.set("Access-Control-Allow-Origin",req.headers.origin)
    res.set("Access-Control-Allow-Headers","token") //添加额外的请求头属于复杂请求
  }
  next()
})



//cors跨域
app.get("/userCors",(req,res)=>{

  res.send({
    code: 1000000000,
    msg: "查询成功",
    data: {
      name: "韩立",
      age: 14300,
      sex: "男"
    }
  })
  
})


//jsonp请求接口
// app.get("/userJsonp",(req,res)=>{
//   const{
//     cb
//   } = req.query

//   const data = {
//     code: 10000,
//     msg: "查询成功",
//     data: {
//       name: "韩立",
//       age: 14300,
//       sex: "男"
//     }
//   }

//   res.send(`${cb}(${JSON.stringify(data)})`)

// })


//jsonp请求接口
app.get("/userJsonp",(req,res)=>{
  const{
    cb
  } = req.query

  const data = {
        code: 10000,
        msg: "查询成功",
        data: {
          name: "韩立",
          age: 14300,
          sex: "男"
        }
      }

  res.send(`${cb}(${JSON.stringify(data)})`)
})


app.listen(3000, () => {
  console.log("服务器请求成功 请访问 http://127.0.0.1:3000");
})